// 登录态存储在 localStorage
import http from "@/request/http.js";

export const isLogin = () => localStorage.getItem('token') !== null
export const login = (token) => localStorage.setItem('token', token)
export const logout = async () => {
    try {
        const token = getToken()
        if (token) {
            //调用后端退出接口
            const response = await http.post('/admin/user/logoutUser', {
                method: 'POST',
                headers: {
                    'Authorization': token,
                    'Content-Type': 'application/json'
                }
            })
            if (!response.ok) {
                throw new Error(`退出登录失败:${response.statusText}`)
            }
        }
    } catch (error) {
        console.error('退出登录接口调用失败：', error)
        throw error
    } finally {
        //最终清除本地存储
        localStorage.removeItem('token')
        localStorage.removeItem('userInfo')
        //清除会话存储
        sessionStorage.removeItem('Token')
        sessionStorage.removeItem('userInfo')
    }

}
// 新增：获取token的函数
export function getToken() {
    return localStorage.getItem('token')
}
// 添加getCurrentUser函数并导出
export function getCurrentUser() {
    try {
        // 从localStorage获取用户信息
        const userInfo = localStorage.getItem('userInfo');
        if (userInfo) {
            return JSON.parse(userInfo); // 假设用户信息中包含userId等字段
        }
        // 如果没有用户信息，尝试从token解析（如果需要）
        const token = localStorage.getItem('token');
        if (token) {
            // 这里根据实际JWT解析逻辑处理，示例：
            // const payload = JSON.parse(atob(token.split('.')[1]));
            // return { userId: payload.userId, username: payload.username };
        }
        return null;
    } catch (error) {
        console.error('解析用户信息失败：', error);
        return null;
    }
}